<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .a {
            background-color: #f00;
            /* overflow: hidden; */
        }

        .a1 {
            width: 100px;
            height: 100px;
            background-color: #ff0;
            float: left;
        }

        .cl:after {
            content: "";
            display: block;
            clear: both;
        }
    </style>
</head>

<body>

    <!-- 
        清除浮动的方法
            1 直接给父元素写高度   缺点：无法实现高度自适应
            2 在所有的浮动元素后面加空盒子  clear:both   缺点：代码冗余
            3 在父元素上加overflow:hidden   缺点：超出的部分无法再显示(无法实现二级菜单)
            4 父元素也浮动       缺点：父元素虽然有了高度，但是祖先元素依然高度塌陷
            5 万能清除法      在父元素加clearfix / cl
     -->

    <div class="a cl">
        <div class="a1">
            啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
        </div>
    </div>

</body>

</html>